using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("DebugTextManager")]
	public class DebugTextManager : MonoBehaviour
	{
		[Attribute38("DebugTextManager.DebugTextRequest")]
		public class DebugTextRequest : MonoClass
		{
			public string m_text => method_4("m_text");

			public Vector3 m_position => method_2<Vector3>("m_position");

			public float m_remainingDuration => method_2<float>("m_remainingDuration");

			public DebugTextRequest(IntPtr address, string className)
				: base(address, className)
			{
			}

			public DebugTextRequest(IntPtr address)
				: this(address, "DebugTextRequest")
			{
			}
		}

		public List<DebugTextRequest> m_textRequests => method_3<Class271<DebugTextRequest>>("m_textRequests")?.method_25();

		public DebugTextManager(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DebugTextManager(IntPtr address)
			: this(address, "DebugTextManager")
		{
		}

		public static DebugTextManager Get()
		{
			return MonoClass.smethod_15<DebugTextManager>(TritonHs.MainAssemblyPath, "", "DebugTextManager", "Get", Array.Empty<object>());
		}

		public void DrawDebugText(string text, Vector3 position, float duration)
		{
			method_8("DrawDebugText", text, position, duration);
		}

		public void LateUpdate()
		{
			method_8("LateUpdate");
		}

		public void OnGUI()
		{
			method_8("OnGUI");
		}
	}
}
